/********************************************************************
	TABAL ENGINE - 2012/10/30
	author:		Marc Cuscullola
	
	purpose:	Defines a simple exception class.
*********************************************************************/
#pragma once

#ifndef __UTILITIES__EXPCETIONS__INCLUDED_H__
#define __UTILITIES__EXPCETIONS__INCLUDED_H__

#include <string>

class CException
{
public:
	///Constructor that gets initialized with a text description.
	explicit			CException		(const std::string& description = "");

	///Constructor that gets initialized with a text description with line and file code.
	explicit			CException			(const std::string& inFile, int inLine, const std::string& inMessage);

	///Accessor method to retrieve the description.
	std::string	GetDescription	() const;

	///Accessor method to set the description.
	inline void			SetDescription	(const std::string& description);

private:
	std::string	m_sDescription;	///Textual description of the error.
};

#endif //__UTILITIES__EXPCETIONS__INCLUDED_H__